home *** CD-ROM | disk | FTP | other *** search
- Course Release
- Course: OpenGL Programming 1 (LBT102)
- Revision: 2.0, June 1996
- Operating Systems: IRIX 5.3 or newer
- Supported Platforms:
- Should run on all platforms that support OpenGL.
- Engineer: Revision by Kris Solem (kris@csd), 5-9728, Mail Stop 17L-171
- Much of the original development was done by David Shreiner.
-
-
- SUMMARY OF CHANGES:
- Since the last revision (4/95, OpenGL1-1.0) the display lists module
- was moved from opengl2 into opengl1.
- The order of the modules was changed to move lighting earlier.
- All examples and answers have been converted to use the GLUT library.
- There is no longer a separate input module; input handling examples
- are shown when needed.
-
-
- GETTING THE NEW COURSE:
-
- The actual class software is in instable format in the Course
- Repository. For more info on the repository, e-mail Nick Dais at
- nickd@csd.sgi.com.
-
-
- COURSE SOFTWARE SETUP:
-
- IRIX 5.3 or newer. The following subsystems must be installed in
- addition to the normal irix subsystems: c, dev, gl_dev, x_dev,
- desktop_tools, glut_dev
-
- The class software is installed in /usr/people/opengl1.
- If an account name 'opengl1' does not already exist, an
- account up in /etc/passwd with /usr/people/opengl1 as its home.
-
- opengl1 has a top level Makefile to compile the class software.
-
- Initially, everything is compiled. To remove the binaries, you
- can type
-
- % make clobber
-
- To remake everything, go to the top level and make, ie
- % cd ~opengl1
- % make
-
-
- Directory structure:
-
- lib
- An enhanced version of the aux library used in
- the OpenGL Programming Guide.
-
- examples
- All of the code for the examples shown in the
- Student Manual.
-
- answers
- Sample answers for the course laboratory exercises.
-
- labs
- Code for the course laboratory exercises.
-
- demos
- Extra demonstration programs. Some come only in
- binary form. Most also include the source.
-
-
- DETAILED CHANGES/BUG FIXES SINCE LAST REV.
-
- Overall
-
- All examples and demos converted to GLUT.
-
-
- lib
- Removed all of the aux library functions.
-
- To cut down on repeated code, several new routines were added to
- the class library. The first time a function is used, it is shown
- in the code. From then on, the corresponding function in the
- library is called. The new functions are:
- checkError
- SolidGrid
- WireGrid
- XYaxes
- XYZaxes
- checkerboard
-
-
- Intro
- Added stuff about OpenGL extensions.
-
-
- Windows
- Added input.c to demonstrate how to use keyboard input. There
- is no longer a separate input module.
-
-
- Rendering
- Combined pointGrid and lineGrid into one example called grid.c; it
- uses keyboard input to toggle between point and line drawing.
-
-
- Basic Transformation
- Added the camera analogy diagram.
-
- Replaced translate.c, rotate.c and scale.c with transforms.c which
- shows all three transformations.
-
- Added matrixmodes.c example to demonstrate how to use the matrix
- stacks.
-
- Scene Modeling
- Rearranged somewhat.
-
- Replaced translateRotate.c and rotateTranslate.c with order.c, which
- uses a keyboard input to toggle the drawing order.
-
- Added more information about how to perform independent transformations.
-
-
- Viewports
- Not much changed.
-
-
- Depth Buffering
- Added GL_EXT_polygon_offset information and example.
-
- Modified painter.c to rotate a polygon into the grid when a particular
- key is pressed. Removed the intersect.c example.
-
-
- Viewing
- Added mouse.c example to demonstrate how to control the view using
- mouse input. (lookat.c and polarView.c use the arrow keys for control).
-
-
- Basic Lighting
- Moved earlier in course so that objects really start to look 3D.
-
- Combined part of the former light properties module here.
-
- Combined faceNormal.c and vertexNormal.c into normals.c.
-
- Added lightIntensity.c example to show the affects of the light color
- on objects.
-
- Moved colorMaterial.c example here along with the rest of the materials
- discussion.
-
- Includes the lighting equations.
-
-
- Animation
- Added menu.c example to show how control animation using a menu.
-
-
- Advanced Lighting:
- Covers spotlights and attenuation, and the lighting model properties.
-
-
- Text
- Expanded the XLFD table to describe all of the fields.
-
- Added a page describing how to put text in a 3D scene.
-
- text.c - essentially the same
- fineClip.c - modified to adjust the aspect ratio for the new
- viewport size
- text3D.c - shows how to put both stationary and moving text into
- a 3D scene
-
-
- Display Lists
- Moved here from OpenGL 2.
-
- dlists.c - demonstrates the performance gain from using display lists.
- koosh.c - demonstrates how to put state information (such as lighting
- properties) into hierarchical display lists
- fonts.c - demonstrates how to create 3D fonts using display lists
-
-
- Alpha Blending
-
- alpha.c - shows the effect of using different blending factors
- alpha3D.c - shows how to use the depth mask to draw transparent
- objects in 3D scenes
-
- blend_equations.c - demonstrates the GL_EXT_blend_minmax,
- GL_EXT_blend_subtract and GL_EXT_logic_op extensions.
-
- Moved the alpha values and lighting discussion here, along
- with the spotLightAlpha example.
-
- Moved antialiasing of points and lines here. Antialiasing of
- polygons in discussed briefly in the module summary, but the
- main discussion is deferred to OpenGL 2 when the accumulation
- buffer, and multisampling are covered.
-
-
- IRIS GL vs. OpenGL appendix
- Examples converted to GLUT.
-
-
- porting appendix
- No change.
-
- FAQ appendix
- Updated to most recently posted faq.
-